package alumninet.persistence.entities.publication;

import java.sql.Timestamp;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.OneToOne;

import alumninet.persistence.entities.BaseEntity;
import alumninet.persistence.entities.JobPosition;
import alumninet.persistence.entities.europass.Company;
import alumninet.persistence.entities.user.BusinessUser;

@Entity
public class Job extends BaseEntity {
	/**
	 * 
	 */
	private String customer_job_code;//	Default. Customer entered job code.
	private boolean active;//	Default. Indicates whether or not this is an active job posting. Boolean.
	private Date posting_date;//	Date of job posting. Format is YearMonthDay or YearMonth.
	private Date expiration_date;//	The expiration for the job posting. Format is YearMonthDay or YearMonth.
	private Timestamp posting_timestamp;//	Default. The timestamp for the job posting. Time is in milliseconds.
	private String expiration_timestamp;//	The timestamp for the job posting expiration. Time is in milliseconds.
	private Company company;
	@OneToOne
	private JobPosition position;
	
	private String skills_and_experience;//	Description of the skills and experience needed for the posted position
	private String description_snippet;//	Default. Short description for the position.
	private String description;//	The full description for the position.
	private String salary;//	The salary listed for the posted job.
	@OneToOne
	private BusinessUser job_poster;
	
	private String referral_bonus;//	Provides information if there is a referral bonus.
	private String site_job_url;//	The URL for the posted position.
	private String location_description;//	The description of the position's location.
	public String getCustomer_job_code() {
		return customer_job_code;
	}
	public void setCustomer_job_code(String customer_job_code) {
		this.customer_job_code = customer_job_code;
	}
	public boolean isActive() {
		return active;
	}
	public void setActive(boolean active) {
		this.active = active;
	}
	public Date getPosting_date() {
		return posting_date;
	}
	public void setPosting_date(Date posting_date) {
		this.posting_date = posting_date;
	}
	public Date getExpiration_date() {
		return expiration_date;
	}
	public void setExpiration_date(Date expiration_date) {
		this.expiration_date = expiration_date;
	}
	public Timestamp getPosting_timestamp() {
		return posting_timestamp;
	}
	public void setPosting_timestamp(Timestamp posting_timestamp) {
		this.posting_timestamp = posting_timestamp;
	}
	public String getExpiration_timestamp() {
		return expiration_timestamp;
	}
	public void setExpiration_timestamp(String expiration_timestamp) {
		this.expiration_timestamp = expiration_timestamp;
	}
	public Company getCompany() {
		return company;
	}
	public void setCompany(Company company) {
		this.company = company;
	}
	public JobPosition getPosition() {
		return position;
	}
	public void setPosition(JobPosition position) {
		this.position = position;
	}
	public String getSkills_and_experience() {
		return skills_and_experience;
	}
	public void setSkills_and_experience(String skills_and_experience) {
		this.skills_and_experience = skills_and_experience;
	}
	public String getDescription_snippet() {
		return description_snippet;
	}
	public void setDescription_snippet(String description_snippet) {
		this.description_snippet = description_snippet;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	public String getSalary() {
		return salary;
	}
	public void setSalary(String salary) {
		this.salary = salary;
	}
	public BusinessUser getJob_poster() {
		return job_poster;
	}
	public void setJob_poster(BusinessUser job_poster) {
		this.job_poster = job_poster;
	}
	public String getReferral_bonus() {
		return referral_bonus;
	}
	public void setReferral_bonus(String referral_bonus) {
		this.referral_bonus = referral_bonus;
	}
	public String getSite_job_url() {
		return site_job_url;
	}
	public void setSite_job_url(String site_job_url) {
		this.site_job_url = site_job_url;
	}
	public String getLocation_description() {
		return location_description;
	}
	public void setLocation_description(String location_description) {
		this.location_description = location_description;
	}
	
}